From: Keir Fraser Date: Tue, 9 Dec 2008 12:53:19 +0000 (+0000) Subject: tools: Fix a few error-path memory leaks. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14026^2~55 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=6ac1537ba7694c19ca611495863ed081fbe59fa7;p=xen.git tools: Fix a few error-path memory leaks. Signed-off-by: Keir Fraser --- diff --git a/tools/python/xen/lowlevel/acm/acm.c b/tools/python/xen/lowlevel/acm/acm.c index 662c7f72d4..d426420d70 100644 --- a/tools/python/xen/lowlevel/acm/acm.c +++ b/tools/python/xen/lowlevel/acm/acm.c @@ -68,6 +68,8 @@ static void *__getssid(int domid, uint32_t *buflen) goto out2; } else { *buflen = SSID_BUFFER_SIZE; + free(buf); + buf = NULL; goto out2; } out2: diff --git a/tools/python/xen/lowlevel/flask/flask.c b/tools/python/xen/lowlevel/flask/flask.c index b8387611b7..bf96cf2af6 100644 --- a/tools/python/xen/lowlevel/flask/flask.c +++ b/tools/python/xen/lowlevel/flask/flask.c @@ -55,6 +55,7 @@ static PyObject *pyflask_context_to_sid(PyObject *self, PyObject *args, xc_handle = xc_interface_open(); if (xc_handle < 0) { errno = xc_handle; + free(buf); return PyErr_SetFromErrno(xc_error_obj); } diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c index 59a16b3ee7..29a81efdb3 100644 --- a/tools/python/xen/lowlevel/xc/xc.c +++ b/tools/python/xen/lowlevel/xc/xc.c @@ -678,19 +678,22 @@ static PyObject *pyxc_get_device_group(XcObject *self, if ( rc < 0 ) { - free(sdev_array); - return pyxc_error_to_exception(); + free(sdev_array); + return pyxc_error_to_exception(); } if ( !num_sdevs ) { - free(sdev_array); - return Py_BuildValue("s", ""); + free(sdev_array); + return Py_BuildValue("s", ""); } group_str = calloc(num_sdevs, sizeof(dev_str)); if (group_str == NULL) + { + free(sdev_array); return PyErr_NoMemory(); + } for ( i = 0; i < num_sdevs; i++ ) {